﻿namespace Sustainalytics.LongRunningTaskManager.Interface
{
    /// <summary>
    /// Long Running Task interface.
    /// </summary>
    public interface ILongRunningTask
    {
        /// <summary>
        /// Task type.
        /// </summary>
        LongRunningTaskTypeEnum Type { get; }

        /// <summary>
        /// Start current task.
        /// </summary>
        /// <param name="context"> Task context. </param>
        /// <returns> Long Running Task result. </returns>
        object Start(LongRunningTaskContext context);
    }
}
